package com.superatom;

import java.util.Arrays;

/**
 * 数组初始化方法
 */
public class ArraysInit {

    public static void main(String[] args){
        // 1. 使用花括号初始化数组，相当于使用了new
        int[] a1 = {1, 2, 3, 4, 5, 6};

        // 2. 讲一个数组赋值给另外一个数组，其实是引用的复制
        int[] a2;
        a2 = a1;
        for (int i = 0; i < a1.length; i++){
            a1[i] += 1;
        }
        System.out.println(Arrays.toString(a1));

        // 3. 使用new创建空数组，并附默认值
        int[] a3 = new int[3];
        System.out.println(Arrays.toString(a3));

        // 如果是非基本类型数组，那个这个数组就是一个引用的数组，如果没有赋值给数组引用，那么存放的是null
        Integer[] intClass = new Integer[10];
        System.out.println(Arrays.toString(intClass));

        // 这样的重载会报错
        f(1, 'a');
        //f('a', 'b');
    }

    static void f(float i, Character... args){
        System.out.println("first");
    }

    static void f(Character... args){
        System.out.println("second");
    }

    // 添加一个非可变参数就可以解决问题
    /*static void f(char i, Character... args){
        System.out.println("second");
    }*/
}
